#pragma once
#include "glm/glm.hpp"
using namespace glm;
class Rotate4
{
public:
	Rotate4();
	Rotate4(float _a);
	Rotate4(float _xy, float _xz, float _xw, float _yz, float _yw, float _zw);
	Rotate4(vec3 _first, vec3 _second);
	~Rotate4();

	void setRot(vec3 _first, vec3 _second);
	void setRot(float _xy, float _xz, float _xw, float _yz, float _yw, float _zw);

	mat4 getMatrix();		//gets a 4x4 matrix composed of all of the rotations
	mat4 getInvMatrix();	//gets the inverse of the composed matrix

private:
	void updateMatrices();
	mat4 rotationMatrix, invRotationMatrix;
	float xy, xz, xw, yz, yw, zw;
};

